The present invention relates to the field of digital signal processing. More particularly, the present invention relates to the field of decompression of an image or video signal in a mobile communication device.
With the popularity of mobile communications and the availability of bandwidth increasing, there exists a need in the field of mobile communications to transmit still and moving images (video) from one user to another in addition to the traditional audio only transmissions. In order for mobile communication devices to accommodate the increased digital signal processing required for the handling of image data, the systems and methods used by the mobile communication device must comply with a low computation and memory requirement as well as maintain low power consumption to enable long battery life.
Standards such as those produced by the Joint Photographics Experts Group (JPEG), the Moving Pictures Experts Group (MPEG), and the Px64 standard are available for the transmission of very low bit-rate audio visual data.
Conventional compression/decompression systems process the JPEG, MPEG, and Px64 standards using substantially the same basic system. The discrete cosine transform (DCT) system and method in one and two-dimensions is a popular method used in digital signal processing for speech and image signal compression. This is due to the fact that the DCT statistically approaches the performance of the optimal Karhunen Loeve Transform (KLT) for highly correlated signals. The DCT has the property that, for a typical set of input image data Ym,n, most of the visually significant information is compactly represented in just a few DCT coefficients Up,q, after transformation, as shown in the following equation:                               U                      p            ,            q                          =                              4                          N              2                                ⁢                      α            q                    ⁢                      α            p                    ⁢                                                    ∑                                  N                  -                  1                                                            m                =                1                                      ⁢                                                            ∑                                      N                    -                    1                                                                    n                  =                  0                                            ⁢                                                Y                                      m                    ,                    n                                                  ⁢                cos                ⁢                                                                            π                      ⁡                                              (                                                                              2                            ⁢                            m                                                    +                          1                                                )                                                              ⁢                    p                                                        2                    ⁢                    N                                                  ⁢                cos                ⁢                                                                            π                      ⁡                                              (                                                                              2                            ⁢                            n                                                    +                          1                                                )                                                              ⁢                    q                                                        2                    ⁢                    N                                                                                                          (        1        )            
where       α    p    =            α      q        =          1              2            
when m=0, otherwise xcex1p=xcex1q=1. For a given set of 2-D input image data, Ym,n where m,n={0,1,2, . . . Nxe2x88x921}, the 2-D DCT transform coefficients Up,q where p,q={0,1,2, . . . Nxe2x88x921} are determined by equation (1).
The DCT is an invertible transform, hence the original image sequence Ym,n can be reconstructed by the 2-D inverse discrete cosine transform (IDCT) using the following equation:                               Y                      m            ,            n                          =                              4                          N              2                                ⁢                                                    ∑                                  N                  -                  1                                                            p                =                1                                      ⁢                                                            ∑                                      N                    -                    1                                                                    q                  =                  0                                            ⁢                                                α                  q                                ⁢                                  α                  p                                ⁢                                  U                                      p                    ,                    q                                                  ⁢                cos                ⁢                                                                            π                      ⁡                                              (                                                                              2                            ⁢                            m                                                    +                          1                                                )                                                              ⁢                    p                                                        2                    ⁢                    N                                                  ⁢                cos                ⁢                                                                            π                      ⁡                                              (                                                                              2                            ⁢                            n                                                    +                          1                                                )                                                              ⁢                    q                                                        2                    ⁢                    N                                                                                                          (        2        )            
which is identical in form with the forward 2-D DCT given in equation (1) apart from a scaling factor of       4          N      2        .
This means that there is no asymmetry of complexity between the coder and decoder. Thus, image coders and decoders such as JPEG coders and decoders share the same complexity.
For the two dimensional image input, Ym,n, the N2 values of Y are the elements of a square array, a sub-image of size Nxc3x97N. Typical arrays in image coding applications are N=4, 8, 16 and 32 where the JPEG image codec uses N=8. The partitioning into sub-images is particularly efficient in cases where correlations are localized to neighboring pixels, as is the case in image and speech signals.
As illustrated in FIG. 1, a conventional decompression system is provided with a compressed input data stream 101. The compressed input data stream 101 is in the form of DCT matrix. The input data stream 101 is comprised of, for example, successive 8xc3x978 DCT matrixes and is provided to the input of a Huffman decoder 102. The Huffman decoded signal is then inverse quantized in block 104 and then a two dimensional IDCT is performed in block 106 which yields the decompressed output image signal 108.
The IDCT computation described above requires considerable time, computational power, and memory. This is, in part, due to the row-column approach used by the conventional IDCT computations. The row-column approach uses the separability property of the 2-D DCT. This property allows for a decomposition of the 2-D DCT into two 1-D DCT transforms. Therefore, for the computation of a 2-D Nxc3x97N DCT transform, the computational time required is about N times the computational time requirement for a 1-D N-point DCT.
There are a number of computational algorithms which have been developed to shorten the computational time required for a 2-D DCT. The algorithms can be grouped into two categories.
The first category is a 2-D DCT transformation without the partitioning of the image data into sub-images. This method performs a fast computation of the 1-D DCT using a 2N-point symmetric Fast Fourier Transform (FFT) and then saving N-terms in the FFT. The computational time required for the first method is N2log2N Multiply and Accumulate (MAC) operations which would require a large buffer memory.
The second category is based on decomposing Kxc3x97K image data into smaller Nxc3x97N sub-images and then applying the DCT on row and column. Further, in JPEG applications where N=8, image data is organized into zig-zag serial data sequences using a 1xc3x97N2 vector. This arrangement allows for further fast DCT implementation algorithms, such as the conventional row-column method, the improved row-column method, and the fast DCT method.
All of the above techniques, however, require considerable time, computational power, and memory. Therefore, there is a need for a system and method which will decompress compressed image data, such as. JPEG, MPEG, or Px64 data without consuming as many resources as conventional decompression methods and systems.
In accordance with one aspect of the present invention, a decoder is provided that includes an indexing and thresholding stage that receives a compressed image matrix and produces therefrom a signal that is based on a comparison of at least one element in the compressed image matrix with a predetermined threshold value. A transform stage is coupled to receive the signal from an output of the indexing and thresholding stage, wherein the transform stage selectively decodes the compressed image matrix based on the signal.
In accordance with another aspect of the present invention, a communication device is provided that includes a receiver and a decoder. The decoder includes an indexing and thresholding stage that receives a compressed image matrix via the receiver and produces therefrom a signal that is based on a comparison of at least one element in the compressed image matrix with a predetermined threshold value. A transform stage is coupled to receive the signal from an output of the indexing and thresholding stage, wherein the transform stage selectively decodes the compressed image matrix based on the signal.
In accordance with another aspect of the present invention, a method for decoding a compressed image matrix is provided which produces a signal which is based on a comparison of at least one element in the compressed image matrix with a predetermined threshold value, and selectively decodes the compressed image matrix signal based on the signal.
In accordance with another aspect of the present invention, an indexing and thresholding apparatus is provided that includes an input for receiving a compressed image matrix, and a processor for producing a signal that is based on a comparison of at least one element in the compressed image matrix with a predetermined threshold value.
In accordance with another aspect of the present invention, a coder is provided that includes a transform stage for producing a compressed image matrix from an input image, and an indexing and thresholding stage that receives the compressed image matrix and produces therefrom a signal that is based on a comparison of at least one element in the compressed image matrix with a predetermined threshold value.
In accordance with another aspect of the present invention, a communication device is provided that includes a transmitter and a coder. The coder includes a transform stage for producing a compressed image matrix from an input image, and an indexing and thresholding stage that receives the compressed image matrix and produces therefrom a signal that is based on a comparison of at least one element in the compressed image matrix with a predetermined threshold value.
In accordance with another aspect of the present invention, a method for encoding image data is provided that includes producing a compressed image matrix by encoding the image data, and producing a signal which is based on a comparison of at least one element in the compressed image matrix with a predetermined threshold value.